1. Field of the Invention
The present invention relates generally to digital communications and, more particularly, to estimating cell bandwidth in digital communications networks.
2. Discussion of Related Art
Integrated Services Digital Network (ISDN) systems have been evolving for the past several decades. Since its inception, ISDN has provided a wide variety of services, including voice and data services, with bit rates of up to 64 Kbps, integrated within a single network. For voice communications and many text and data applications, the 64 Kbps ISDN rate has been found to be sufficient. However, there are increasing demands for broadband communications with substantially higher bit rates, such as high-speed data communications, video and high resolution graphics communications. A second generation of ISDN, referred to as Broadband ISDN (B-ISDN), has developed to support these latter types of communications while continuing to provide the same advantages as the first generation ISDN.
The first generation ISDN utilizes a synchronous transfer mode wherein, for the duration of a connection, a synchronous channel with a constant bit rate (CBR) is allocated to that connection. Although suitable for certain applications, synchronous transfer mode generally is unsuitable for integration of service types that have bit rate requirements above 2 Mbs. This inadequacy resulted in the development of the Asynchronous Transfer Mode (ATM) protocol as a preferred method for transferring information in a B-ISDN system. In ATM networks, a user""s data is partitioned into fixed-length cells consisting of a 5 byte header and a 48 byte payload. The use of short, fixed-length cells while transmitting only the necessary number of cells per unit time provides the flexibility needed to support variable transmission rates, making ATM particularly suited for integrated traffic consisting of, for example, voice, data and video.
An ATM network is connection-oriented. A Virtual Channel Connection (VCC) is established between a source and destination node before information is transmitted. The VCC traverses one or more intermediate nodes in the communications network. The VCC includes one or more virtual paths (VPs) and virtual channels (VCs). During transmission, an ATM cell stream is switched among VCs and VPs by the intermediate network elements. VP and VC Identifier (VPI/VCI) values included in the cell header are set when the VCC is first established, and altered as the cell stream passes through each switch in the network to identify the next selected virtual path and virtual channel of the VCC. Because of the connection-oriented nature of ATM and the distribution of cell transfer control across the nodes of a virtual channel connection, each network element or node in a virtual path operates as a source and destination of a virtual path, and is generally referred to as an ATM source and ATM destination, depending upon the operations it is performing. For ease of discussion, the source node and any intermediate ATM source are generally referred to herein as an ATM source. Likewise, the destination node and any intermediate ATM destination are generally referred to herein as an ATM destination or ATM destination node.
Each switch in an ATM network has limited resources with which to service large groups of individual network nodes. That is, although the capabilities of ATM switches are increasing rapidly, each switch nevertheless has a limited bandwidth and limited buffer space. With the advent of optical transmission systems such as Synchronous Optical Network (SONET) and an ever increasing number of communicating nodes, these limits often are exceeded. As a result, congestion at the switches occurs quite rapidly. If left unchecked, such congestion can result in buffer overflow and cell loss.
When a VCC is established between a source and destination node, a set of parameters are negotiated, primarily based upon the current bandwidth availability of the network. These parameters, commonly referred to as source-control parameters, are intended to discipline the behavior of the source node so as to avoid congestion on the network. For example, the source node may be provided maximum values for the rate at which it may transmit data instantaneously (Peak Cell Rate or PCR); the average rate over an extended time interval that it may transmit cells (Sustained Cell Rate or SCR); and the burst size that may be sent at the peak rate (Burst Tolerance or BT).
The source node is expected to operate within the limits defined by these negotiated parameters to prevent unexpected traffic from occurring on the network. The presence of unexpected network traffic could cause the network to become congested which, as noted, may cause ATM cells to be lost. It therefore has been established as a protocol violation for a source node to exceed one or more of these negotiated source-control parameters.
Recently, the ATM forum has established a traffic class referred to as the Available Bit rate (ABR) traffic category. ABR is a complex B-ISDN protocol, consisting of a one-directional information flow and a bi-directional control flow. Specifically, a bi-directional VCC is established between a source and destination node. Forward-going ATM (source-to-destination), and a backward-going ATM (destination-to-source) cell streams are established over this VCC. According to an established ABR protocol, specialized control cells called Resource Management (RM) cells are periodically inserted into the forward-going ATM stream and the backward-going ATM stream. The RM cells are generated by the source and destination nodes and, if necessary, modified by the intermediate nodes.
The RM cells inserted into the forward-going stream by the source node contain transmission-related information, including the rate that the source node is currently transmitting cells. To avoid loss of data and to generally maintain the efficiency of the network, the actual transmission rate through all of the virtual paths in a virtual channel connection should be identical to the source transmission rate indicated in the forward-going RM cells. If an ATM source transmits at a rate other than the rate that is indicated in its forward-going RM cells, additional, unexpected traffic may occur. As noted, the extra traffic from a source node can cause the network to become congested, and ATM cells to be lost. It is therefore also a significant protocol violation for these two values not to be the same.
The RM cells inserted into the backward-going ATM stream contain source-control information that instructs the source, node to either decrease or increase its transmission rate, depending on the current state of the network. That is, if additional bandwidth is available on the network, then a backward-going RM cell will indicate to the source that it may increase its transmission rate so as to fully utilize the available bandwidth. Conversely, if the bandwidth of the network is close to or above its maximum capacity, the backward-going RM cells may instruct an ATM source node to decrease its transmission rate so as to avoid cell loss caused by excessive congestion.
The degree by which the source node increases or decreases its transmission rate may be explicitly identified in the backward-going RM-cell. Alternatively, the rate of change is pre-negotiated when a VCC is established so that only a binary indication of whether the source should decrease or increase its transmission rate may be used to provide the above feedback.
Because the consequences of such protocol violations can be so severe, conventional network switches and network test equipment have been developed to monitor the actual rate at which cells are transmitted by a source to identify when the source is operating beyond the negotiated source-control parameters. Traditionally, is source transmission bandwidth has been measured by counting the number of cells received at an ATM virtual destination during sequential fixed periods of time. The number of received cells is divided by the fixed time period to obtain a measurement of cells-per-second (cells/second). By multiplying this value by the number of bits-per-cell (bits/cell), a bandwidth in bits-per-second (bits/second) may be obtained.
However, the bi-directional control provided by the ATM ABR protocol enables the source node and intermediate virtual sources to receive continuous feedback from the network. The transmission rate of these sources in an ABR service can change very rapidly in response to the rate-adjustment instructions contained within the backward-going RM cells. In fact, source-rate changes can occur several times during the single fixed time interval which is typically used in conventional systems to measure cell bandwidth. The source transmission rate indicated in each of the forward-going RM cells transmitted during this fixed time interval, then, would not necessarily match the bandwidth measurement calculated based upon such a time interval. Therefore, conventional techniques cannot determine whether the actual transmission rate through a virtual channel connection is the same as the initial source transmission rate identified in that forward-going RM-cell. As a result, unnecessary protocol violations are raised.
Furthermore, such conventional systems determine the bandwidth at scheduled periodic intervals or during the performance of diagnostic procedures. Such measurements often do not yield the necessary or desired information to diagnose a problem since they are not performed during the occurrence of errors in the network. As a result, the diagnostic process is extended, sometimes considerably.
What is needed, therefore, is a method for measuring the instantaneous cell bandwidth of a digital communications connection. Such a system should be capable of making such measurements when necessary to efficiently obtain the necessary bandwidth information.
The present invention is a method and associated apparatus for determining the bandwidth or transmission rate of a desired type of cell in a cell stream occurring over a digital communications network connection during a time interval between occurrences of a first and second predetermined event. Advantageously, measurement of the transmission rate of the desired cell, such as an asynchronous transfer mode (ATM) available bit rate (ABR) user cell, during a selected time interval based upon the occurrence of predetermined events provides a flexible and efficient approach for determining cell bandwidth. For example, the cell bandwidth may be measured only when certain conditions exist, eliminating unnecessary calculations from being performed. Furthermore, the cell bandwidth may be determined immediately upon occurrence of the predetermined events, providing real-time feedback and analysis to test and measurement and/or network nodes. In an ATM ABR environment, for example, this enables the implementing system to immediately compare the actual cell transmission rate calculated in accordance with the present invention to the rate at which the cell stream was transmitted by an ATM source node, as identified by a Resource Management (RM) control cell in the ABR cell stream. Such information may then be immediately used to determine the source and effect of errors and/or provided to the source nodes in the network in a backward-going RM cell for subsequent use in determining the transmission rate of a future cell stream.
In one aspect of the invention, an event-based cell bandwidth determinator is disclosed. The determinator is constructed and arranged to determine a transmission rate of a first type of cell in a cell stream occurring over a connection in a digital communications network during a time interval between an occurrence of a first predetermined event and an occurrence of a second predetermined event. In one embodiment, the first and second predetermined events are successive occurrences of a second type cell occurring in the cell stream. In this embodiment, the first type of cells occur in the cell stream between the first and second occurrences of the second type of cells. In one implementation, the cell stream is an ATM ABR cell stream. Here, the first type of cell is an a user cell and the second type of cell is an RM cell. The connection may be one or more channels or paths in the digital network.
Specifically, the determinator includes a timestamper adapted to be coupled to the digital communications network so as to receive the cell stream. The timestamper records a first time at which the first predetermined event occurs and a second time subsequent to the first time at which the second predetermined event occurs. These first and second times define the time interval during which the transmission rate is determined. The determinator also includes a cell counter configured to receive the cell stream and to count a number of the first type of cells occurring in the cell stream during the time interval. A rate calculator coupled to the timestamper and cell counter is also included. The rate calculator is configured to divide the number of the first type of cells by the time interval to generate the transmission rate of the first type of cells.
More specifically, in one embodiment, the first predetermined event is a receipt of a second type of cell in the cell stream and the second predetermined event is a next successive receipt of the second type of cell in the cell stream. In this embodiment, the timestamper includes a timestamp circuit that determines a time of the receipt of each of the second type of cells in the cell stream. The timestamper also includes a packetizer circuit, coupled to the timestamp circuit, that encompasses each of the first and second type of cells into a packet and stores in a first field of each packet the time of receipt of the first and second type of cells encompassed within the packet. Furthermore, the cell counter may include a cell identifier circuit configured to identify he first and second types of cells contained in each packet in accordance with an implemented communications protocol, and to store a value indicating the type of the cells in a second predetermined field of the packet. A channel selector circuit is preferably included in the cell counter to select the packets containing cells for the connection. In this embodiment, a cell stream processor counts the number of first type of cells that occur during the time interval and stores the number of first type of cells in a third predetermined field in the packet encapsulating the later occurrence of the second type of cell. In this embodiment, the user cell counter preferably further includes a packet filter circuit coupled to the user cell stream processor, that forwards only packets containing the second type of cell to the rate calculator.
In another aspect of the invention an apparatus for determining a transmission rate of a first type of cell transmitted in a cell stream over a connection in an ATM network during an event-based adaptive time period is disclosed. The apparatus includes a processor and a memory coupled to the processor. The memory includes a plurality of instructions stored therein which, when executed by the processor, cause the processor to calculate an actual transmission rate of the first type of ATM cells. The transmission rate is based upon a number of the first type of ATM cells received from the connection on the network during a time period between an occurrence of a first and second predetermined event. In one embodiment, the first and second predetermined events are receipt times of two ATM cells of a second type, and the time period between an occurrence of the first and second predetermined events is a time period between the receipt times of the second type of cells. The apparatus may be implemented in any device coupled to the communications network, such as a protocol testing device or a telecommunications switch.
In one particular implementation of this embodiment, the apparatus also includes a cell bus interface device. The cell bus interface has a timestamper configured to identify receipt times of at least the second type of ATM cells received from the network connection. The cell bus interface also includes a cell counter, configured to count the number of first type of ATM cells received over the network connection during the time period between the receipt times of the second type of ATM cells. The cell bus interface may be embodied in hardware, software, or firmware. Preferably, the cell bus interface is embodied in one or more programmable gate arrays or an application specific integrated circuit (ASIC). In the environment wherein the ATM cell stream is transmitted in accordance with an ATM ABR protocol, the second type of ATM cells may be ABR RM cells while the first type of ATM cells may be ABR user cells.
In yet another aspect of the invention, a method for determining a transmission rate of a first type of cell transmitted in a cell stream over an asynchronous transfer mode (ATM) network connection during an event-based adaptive time period is disclosed. The method includes the steps of: a) sensing the occurrence of a first predetermined event; b) sensing the occurrence of a second predetermined event; c) measuring a time period between the occurrences of the first and second events; d) counting a number of cells received from the network connection during the time period; and e) calculating an actual transmission rate of the cells during the time period. Preferably, step e) includes the step of 1) dividing the number of cells counted at the step d) by the time period measured at the step c). The method may be performed by a protocol testing device, network analyzer or other monitoring device coupled to the network, as well as a network switch or other node on the network.
Generally, the method may also include one or more of the steps of f) determining, prior to step a), the first predetermined event upon which the transmission rate is to be measured; or g) determining, prior to step c), the second predetermined event upon which the transmission rate measurement is to complete.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numerals indicate like or functionally similar elements or method steps. Additionally, the left-most one or two digits of a reference numeral identifies the drawing in which the reference numeral first appears.